// --------------------------------------------------------------------------------------------------------------------
// <copyright file="SafetyContainerCmdletGroup.cs" company="Open Trader">
//   Copyright (c) David Denis (david.denis@systemathics.com)
// </copyright>
// <summary>
//   |  Open Trader - The Open Source Systematic Trading Platform
//   |
//   |  This program is free software: you can redistribute it and/or modify
//   |  it under the terms of the GNU General Public License as published by
//   |  the Free Software Foundation, either version 2 of the License, or
//   |  (at your option) any later version.
//   |
//   |  This program is distributed in the hope that it will be useful,
//   |  but WITHOUT ANY WARRANTY; without even the implied warranty of
//   |  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//   |  GNU General Public License for more details.
//   |
//   |  You should have received a copy of the GNU General Public License
//   |  along with this program.  If not, see http://www.gnu.org/licenses
//   |
//   |  Up to date informations about Open Trader can be found at :
//   |    http://opentrader.org
//   |    http://opentrader.codeplex.com
//   |
//   |  For professional services, please visit us at :
//   |    http://www.systemathics.com
// </summary>
// --------------------------------------------------------------------------------------------------------------------

namespace Org.OpenTrader.Framework.Cmdlet.Builtins
{
    /// <summary>
    /// The command line.
    /// </summary>
    public class SafetyContainerCmdletGroup /* TODO CmdletGroup */
    {
        #region Public Methods

        /////// <summary>
        /////// The handle unsafe code container request.
        /////// </summary>
        /////// <param name="cmd">
        /////// The cmd.
        /////// </param>
        /////// <param name="args">
        /////// The args.
        /////// </param>
        /////// <returns>
        /////// The handle unsafe code container request.
        /////// </returns>
        /////// <exception cref="BadParametersException">
        /////// </exception>
        ////public static bool HandleUnsafeCodeContainerRequest(string cmd, IList<string> args)
        ////{
        ////    // System.Diagnostics.Debugger.Launch();
        ////    if (cmd.Equals(string.Empty))
        ////    {
        ////        throw new BadParametersException();
        ////    }
        ////    else if (cmd.Equals("start"))
        ////    {
        ////        return UnsafeCodeContainerStart(args);
        ////    }
        ////    else
        ////    {
        ////        return false;
        ////    }
        ////}

        /////// <summary>
        /////// { Guid:ContainerID, String:Directory, String:AssemblyName1 ... String:AssemblyNameN }
        /////// </summary>
        /////// <param name="args">
        /////// </param>
        /////// <returns>
        /////// The unsafe code container_ start.
        /////// </returns>
        ////public static bool UnsafeCodeContainerStart(IList<string> args)
        ////{
        ////    if (args.Count != 2)
        ////    {
        ////        throw new BadParametersException();
        ////    }

        ////    var thisSideId = args[0];
        ////    var otherSideId = args[1];

        ////    // Create the server and run until destroyed (blocking call)
        ////    LiveObjectContainerManagerExternalProcess.CreateUnsafeCodeLiveObjectContainerServer(thisSideId, otherSideId);

        ////    return true;
        ////}
        #endregion
    }
}